//根据菜单id加载子菜单模块
function loadModule(ul, moduleId) {
	$.ajax({
		url : "../../../module/getModuleChildById",
		type : "post",
		data : {
			"moduleId" : moduleId
		},
		dataType : "json",
		success : function(data) {
			// 获取角色集合
			var flag = data.flag;
			if (flag == 0) {
				var result = data.content;
				for (var i = 0; i < result.length; i++) {
					moduleAdd(ul, result[i]);
				}
			} else {
				danger(data.errorInfo);
			}
		},
		error : function() {
			warning("服务器加载异常!");
		}
	});
}
// 将查询到的结果集合添加到ul中
function moduleAdd(ul, result) {
	var sli = '<li value="';
	sli += result.moduleId;// 菜单按钮id
	sli += '" name="';
	sli += result.moduleSort + ',';// 菜单按钮顺序
	sli += result.moduleUrl + ',';// 菜单按钮链接
	sli += result.moduleShortCode + ",";// 菜单按钮代码简称
	sli += result.moduleParentId;// 父级模块Id
	sli += '">';
	sli += result.moduleName;// 菜单按钮名称
	sli += '</li>';
	var $li = $(sli);
	$(ul).append($li);
}
// 根据根据当前二级菜单加载加载三级菜单
function loadNote1() {
	$("#currentSelections").html("");
	$("#currentSelections").html($(this).html());
	// 清除选中效果
	$("#module2 li").removeClass();
	// 设置选中效果
	$(this).addClass("orange");
	$("#module3").html("");
	var moduleId = $(this).val();
	loadModule("#module3", moduleId);
}
// 根据当前一级菜单加载加载二级菜单
function loadNote() {
	$("#currentSelections").html("");
	$("#currentSelections").html($(this).html());
	// 清除选中效果
	$("#module1 li").removeClass();
	// 设置选中效果
	$(this).addClass("orange");
	$("#module2").html("");
	$("#module3").html("");
	var moduleId = $(this).val();
	loadModule("#module2", moduleId);
}
// 设置选中效果
function loadNote2() {
	$("#currentSelections").html("");
	$("#currentSelections").html($(this).html());
	// 清除选中效果
	$("#module3 li").removeClass();
	// 设置选中效果
	$(this).addClass("orange");
}
// 重置按钮
function resetSelection() {
	$("ul").html("");
	$("#currentSelections").html("");
	loadModule("#module1", null);
}
// 删除操作
function deleteModule() {
	var moduleId1 = $("#module1 li.orange").val();
	var moduleId2 = $("#module2 li.orange").val();
	var moduleId3 = $("#module3 li.orange").val();
	var moduleId;
	var ul;
	var pId;
	if (moduleId3 != "" && moduleId3 != null) {
		var str = $("#module3 li.orange").attr("name").split(",");
		pId = str[3];
		ul = "#module3";
		moduleId = moduleId3;
	} else if (moduleId2 != "" && moduleId2 != null) {
		var str = $("#module2 li.orange").attr("name").split(",");
		pId = str[3];
		ul = "#module2";
		moduleId = moduleId2;
	} else if(moduleId1 != "" && moduleId1 != null){
		pId = null;
		ul = "#module1";
		moduleId = moduleId1;
	}else {
		var content = "请选择要删除的模块!";
		info(content);
		return;
	}
	//弹出删除确认框
	BootstrapDialog.show({
		title : '提示',
		message :"您确定要删除吗?",
		buttons : [{
			icon : 'glyphicon glyphicon-check',
			label : '确定',
			cssClass : 'btn-primary',
			autospin : true,
			action:function(dialogRef){
				dialogRef.close();
				//判断当前模块是否有子模块
				$.ajax({
					url : "../../../module/getModuleChildById",
					type : "post",
					data : {
						"moduleId" : moduleId
					},
					dataType : "json",
					success : function(data) {
						if (data.flag == 0) {
							var moduleChild = data.content;
							if(moduleChild.length>0){
								deleteHintsModule(ul, moduleId, pId);
							}else{
								deleteModuleRun(ul, moduleId, pId);
							}
							
						} else {
							danger(data.errorInfo);
						}
					},
					error : function() {
						danger("查询是否有子模块信息失败");
					}
				});
			}
		},{
			label : '取消',
			action : function(dialogRef) {
				dialogRef.close();
			}
		}]
	});
}

//弹出删除操作提示是否删除子模块
function deleteHintsModule(ul, moduleId, pId){
	BootstrapDialog.show({
		title : '提示',
		message :"此模块包含子模块，子模块将被一并删除，确定删除吗?",
		buttons : [{
			icon : 'glyphicon glyphicon-check',
			label : '确定',
			cssClass : 'btn-primary',
			autospin : true,
			action:function(dialogRef){
				dialogRef.close();
				deleteModuleRun(ul, moduleId, pId);
			}
		},{
			label : '取消',
			action : function(dialogRef) {
				dialogRef.close();
			}
		}]
	});
}
//执行后台删除方法
function deleteModuleRun(ul, moduleId, pId){
	$.ajax({
		url : "../../../module/deleteModules",
		type : "post",
		data : {
			"moduleId" : moduleId
		},
		dataType : "json",
		success : function(data) {
			if (data.flag == 0) {
				if (ul == "#module1") {
					$("ul").html("");
					$("#currentSelections").html("");
					loadModule(ul, null);
				} else if (ul == "#module2") {
					$(ul).html("");
					$("#module3").html();
					$("#currentSelections").html("");
					loadModule(ul, pId);
				} else {
					$(ul).html("");
					$("#currentSelections").html("");
					loadModule(ul, pId);
				}
			
			} else {
				danger(data.errorInfo);
			}
		},
		error : function() {
			danger("删除模块信息失败");
		}
	});
}
// 编辑页面展示操作
function edit() {
	// 查看三个级别模块中被选中的模块id
	var moduleId1 = $("#module1 li.orange").val();
	var moduleId2 = $("#module2 li.orange").val();
	var moduleId3 = $("#module3 li.orange").val();
	var moduleId;
	// 判断当前选中的是几级模块并给对应编辑页面上对应区域赋值
	if (moduleId3 != "" && moduleId3 != null) {
		moduleId = moduleId3;
		var str = $("#module3 li.orange").attr("name").split(",");
		var name = $("#module2 li.orange").html();
		var moduleName = $("#module3 li.orange").html();
		var moduleShortCode = str[2];
		var moduleParentId = str[3];
		edit3(name, moduleName, moduleShortCode, moduleId, moduleParentId);// 显示编辑页面
	} else if (moduleId2 != "" && moduleId2 != null) {
		moduleId = moduleId2;
		var str = $("#module2 li.orange").attr("name").split(",");
		var name = $("#module1 li.orange").html();
		var moduleName = $("#module2 li.orange").html();
		var moduleSort = str[0];
		var moduleUrl = str[1];
		var moduleParentId = str[3];
		edit2(name, moduleName, moduleId, moduleParentId, moduleSort, moduleUrl);// 显示编辑页面
	} else if (moduleId1 != "" && moduleId1 != null) {
		moduleId = moduleId1;
		var str = $("#module1 li.orange").attr("name").split(",");
		var moduleName= $("#module1 li.orange").html();
		console.log(moduleName);
		var moduleSort = str[0];
		edit1(moduleName, moduleId, moduleSort);// 显示编辑页面
	} else {
		var content = "请选择要编辑的模块!";
		info(content);
	}
}

// 弹出编辑一级模块页面
function edit1(moduleName1, moduleId, moduleSort) {
	BootstrapDialog
			.show({
				title : '编辑一级模块',
				message : $(
						"<form id='bj' class='form-inline' style='height:100px'></form>")
						.load('moduleEdit.html'),
				onshown : function() {
					// 初始化编辑框的值
					$("#bj-1").val(moduleName1);// 模块名称
					$("#bj-2").val(moduleSort);// 模块顺序
					$("#bj").val(moduleId);// 模块Id
				},
				buttons : [
						{
							icon : 'glyphicon glyphicon-check',
							label : '确定',
							cssClass : 'btn-primary',
							autospin : true,
							action : function(dialogRef) {
								var moduleName = $("#bj-1").val();
								var moduleSort = $("#bj-2").val();
								var moduleId = $("#bj").val();
								var ok = true;
								if (moduleName == "" || moduleSort == "") {
									ok = false;
									var content = "模块名称与模块顺序均不能为空!";
									info(content);
								}
								if (ok) {
									if(moduleName1==moduleName){
										moduleName=null;
									}
									editModule(moduleName, null, moduleSort,
											moduleId, null, "#module1", null);
								}
							}
						}, {
							label : '取消',
							action : function(dialogRef) {
								dialogRef.close();
							}
						} ]
			});
}

// 弹出编辑二级模块页面
function edit2(name, moduleName1, moduleId, moduleParentId, moduleSort,
		moduleUrl) {
	BootstrapDialog
			.show({
				title : '编辑二级模块',
				message : $(
						"<form id='bj1' class='form-inline' style='height:160px'></form>")
						.load('moduleEdit1.html'),
				onshown : function() {
					// 初始化编辑框的值
					$("#bj1-1").val(name);// 上级模块名称
					$("#bj1-2").val(moduleName1);// 本模块名称
					$("#bj1-3").val(moduleUrl);// 模块链接
					$("#bj1-4").val(moduleSort);// 模块顺序
					$("#bj1").val(moduleId);// 模块Id
					$("#bj1-pId").val(moduleParentId);// 上级模块Id
				},
				buttons : [
						{
							icon : 'glyphicon glyphicon-check',
							label : '确定',
							cssClass : 'btn-primary',
							autospin : true,
							action : function(dialogRef) {
								var moduleName = $("#bj1-2").val();
								var moduleUrl = $("#bj1-3").val();
								var moduleSort = $("#bj1-4").val();
								var moduleId = $("#bj1").val();
								var pId = $("#bj1-pId").val();
								var ok=true;
								if (moduleName == "" || moduleSort == ""
										|| moduleUrl == "") {
									ok = false;
									var content = "模块名称,模块链接与模块顺序均不能为空!";
									info(content);
								}
								if(ok){
									if(moduleName1==moduleName){
										moduleName=null;
									}
									editModule(moduleName, moduleUrl,moduleSort, moduleId, null,"#module2", pId);
								}
							}
						}, {
							label : '取消',
							action : function(dialogRef) {
								dialogRef.close();
							}
						} ]
			});
}

// 弹出编辑三级模块页面
//弹出编辑三级模块页面
function edit3(name, moduleName1, moduleShortCode, moduleId, moduleParentId) {
	BootstrapDialog
			.show({
				title : '编辑三级按钮功能',
				message : $(
						"<form id='bj2' class='form-inline' style='height:160px'></form>")
						.load('moduleEdit2.html'),
				onshown : function() {
					// 初始化编辑框的值
					$("#bj2-1").val(name);// 上级模块名称
					$("#bj2-2").val(moduleName1);// 本模块名称
					$("#bj2-3").val(moduleShortCode);// 模块名称代码简写
					$("#bj2").val(moduleId);// 模块Id
					$("#bj2-pId").val(moduleParentId);// 上级模块Id
				},
				buttons : [
						{
							icon : 'glyphicon glyphicon-check',
							label : '确定',
							cssClass : 'btn-primary',
							autospin : true,
							action : function(dialogRef) {
								var moduleName = $("#bj2-2").val();
								var moduleShortCode = $("#bj2-3").val();
								var moduleId = $("#bj2").val();
								var pId = $("#bj2-pId").val();
								var ok = true;
								if (moduleName == "" || moduleShortCode == "") {
									ok = false;
									var content = "按钮名称与按钮简称代码均不能为空!";
									info(content);
								}
								if (ok) {
									if(moduleName1==moduleName){
										moduleName=null;
									}
									editModule(moduleName, null, null,moduleId, moduleShortCode,"#module3", pId);
								}
							}
						}, {
							label : '取消',
							action : function(dialogRef) {
								dialogRef.close();
							}
						} ]
			});
}

// 发送编辑的ajax请求
//发送ajax请求修改模块信息
function editModule(moduleName, moduleUrl, moduleSort, moduleId,
		moduleShortCode, ul, pId) {
	$.ajax({
		url : "../../../module/updateModule",
		type : "post",
		data : {
			"moduleName" : moduleName,
			"moduleUrl" : moduleUrl,
			"moduleSort" : moduleSort,
			"moduleId" : moduleId,
			"moduleShortCode" : moduleShortCode
		},
		dataType : "json",
		success : function(data) {
			if (data.flag == 0) {
				success(data.content);
				if (ul == "#module1") {
					$("ul").html("");
					$("#currentSelections").html("");
					loadModule(ul, null);
				} else if (ul == "#module2") {
					$(ul).html("");
					$("#module3").html();
					$("#currentSelections").html("");
					loadModule(ul, pId);
				} else {
					$(ul).html("");
					$("#currentSelections").html("");
					loadModule(ul, pId);
				}
			} else{
				danger(data.errorInfo);
			}
		},
		error : function() {
			danger( "修改失败!");
		}
	});
}
